The present invention concerns an improvement to a central system controller interfacing a central processor and central memory with one or more local terminals.
It is known in the data processing arts to provide a multi-terminal data processing system in which a central processor and large central memory are shared by a number of intelligent terminals. User application programs and data are stored in the central memory. The central processor provides time-multiplexed access to the central memory by the terminals and may provide inter-terminal communications.
As an interface between the central system and the terminals, the central system contains at least one terminal communications controller, which in the ensuing description will be referred to as a "local video controller" (LVC). In a preferred embodiment of the invention, the central system can support four LVC's. Each LVC can control 8 channels, each of which can handle communications with up to 8 terminals.
Each intelligent terminal contains a keyboard for the entry of data and commands and a video display unit for displaying information to the user.
In such a data processing system it is desirable to minimize the time that the central processor spends servicing each terminal, since by minimizing this time the size of the central processor may be kept relatively small. Alternatively, relatively more terminals may be serviced from the central processor.
It is known to provide "intelligence" at each terminal in the form of one or more terminal processors, terminal memories, and associated circuitry, in order to reduce the workload on the central processor. The terminal processor ordinarily requires at least some terminal memory to store routines and data to perform its various functions, which may include power-up and boot-loading, keyboard input, video display, printing, and communicating.
To reduce the workload on the terminal processor, it is known to improve terminal processor throughput by providing a separate video memory for storing data to be displayed on the screen. This avoids the necessity of the terminal processor sharing its memory workspace with the video display memory and consequently losing bus cycles every time a display memory access is made. By providing a separate video display memory, the terminal processor does not lose any bus cycles during screen refresh operations.
The central memory is of sufficient size to contain all programs and data required to support the terminals. A portion of the central memory may be allocated for the use of each terminal.
In the data processing system just described it is of course necessary to update the information stored in the terminal video memory from time to time in order to update the information displayed on the screen, for example, in response to keyboard input at the terminal or in response to a message transmitted to the terminal from another terminal in the system. As mentioned above, it is desirable to minimize the time that the central processor and the terminal processor are in use. The present invention minimizes this time by providing circuitry in the LVC which detects changes in the contents of the central memory allocated to any given terminal and subsequently transmits only the changed information to the terminal.
In this manner, the workload on the central processor and the terminal processor is kept in a minimum. In addition, since primarily only changes (except for initial loading) in the central memory are transmitted to the terminal, rather than entire data blocks, the bandwidth of the communications channels between the central system LVC and the terminals is minimized. Thus relatively more terminals can be supported by a single central system. This also allows relatively inexpensive, low-grade communications channels, such as non-dedicated telephone links, to be employed, thereby increasing the commercial value of the system, since remote terminals can be used with the system. Such remote terminals, in the system described herein, do not require dedicated high-grade cables.
The present invention provides the above advantages. In addition, the LVC change detect circuitry of the present invention is capable of handling video update operations in a system employing video terminals which utilize multiple independent video display areas. For example, in a preferred embodiment of the present invention each terminal can support up to 8 independent display segments, each of which can be defined by the user and each of which displays information without interference with adjacent display segments.